home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MPEG Toolkit
/
MPEG Toolkit.iso
/
dos
/
vmpeg12
/
vmpeg.doc
< prev
next >
Wrap
Text File
|
1997-01-01
|
15KB
|
410 lines
VMPEG V1.2
DOS / Windows MPEG player
by Stefan Eckart
September 1994
1. Features
===========
- full MPEG-1 video standard (ISO 11172-2): I,P,B frames of arbitrary size
- plays system layer (ISO 11172-1) files (audio is discarded)
- high speed: e.g. 21 frames/s on a 386DX/33 for a 160x120 I frame
sequence (mjackson.mpg)
- supports VGA and a variety of SVGAs
- display options: 4x4 ordered dither normal size (8 bit)
4x4 ordered dither double size (8 bit)
grayscale (8 bit)
true color (24 bit)
- requires:
- '386,'486 or '586 processor (no '286)
- 4 MB RAM
- VGA or Super VGA
- Windows version: Windows 3.1, Win32s and optionally WinG
2. Overview
===========
VMPEG is a fast decoder / viewer for MPEG encoded video sequences (.mpg
files). MPEG (Moving Pictures Expert Group) is a video compression algorithm
standardized by the International Organization for Standardization (ISO) and
the International Electrotechnical Commision (IEC) as ISO/IEC IS 11172. Main
application of MPEG is the storage and retrieval of video on/from Compact
Disk at a rate of about 1.5 Mbit/sec.
VMPEG can play MPEG system layer streams containing both video and audio.
Most streams from CD-ROM (Video-CD) are of this type. The audio stream is
discarded by the decoder. VMPEG automatically detects whether the file is a
video compression layer or a system layer file. I have also included a small
utility (MPGSPLIT) which extracts the video and audio streams from a system
layer stream into separate files (cf. MPGSPLIT.DOC).
The DOS version of VMPEG is compiled with the GNU C compiler (gcc) into '386
code and runs under the DOS extender GO32 by DJ Delorie which is included in
the archive file. The DOS version of VMPEG cannot be run from Windows.
The Windows version of VMPEG is the first release for Windows. It is not as
thoroughly tested as the DOS version but already seems to be reasonably
stable. Please feel free to report any bugs you encounter to my email
address. The Windows version requires Windows 3.1 and the free Windows
extensions MS Win32s (32 bit support) and optionally WinG (screen output
acceleration). These packages are available by anonymous ftp from (currently)
ftp.microsoft.com:/developr/win32dk/sdk-public/Win32s115a.Zip
ftp.microsoft.com:/developr/drg/WinG/WINGBT.ZIP
and perhaps somewhere on CompuServe.
3. Installation
===============
3.1 DOS version
---------------
- You need at least a '386 with a VGA and 512 KB of RAM. 4 MB are strongly
recommended. XT, AT, EGA and CGA are not supported. A '387 is not required
nor does it increase speed. VMPEG doesn't use floating point.
- You should leave about 2 MB of RAM (XMS) unused: if you have, say,
a 4 MB system you shouldn't reserve more than 2 MB for a RAM drive.
Otherwise the DOS extender would start swapping memory pages from and to
disk. This would slow down the program, even if swapping to a RAM drive.
- If you have installed EMM386 make sure you don't have specified the
'noems' option in your config.sys file.
- Create a subdirectory for installation:
md \vmpeg
cd \vmpeg
- Unzip the archive into this subdirectory:
pkunzip -d vmpeg12.zip
- Edit VMPEG.BAT and VMPEG24.BAT; you probably have to change drive
and/or path specifications and to select a suitable graphics driver
(see paragraph 4).
3.2 Windows version
-------------------
- Install Win32s and (optionally) WinG. These packages come with their own
installation instructions. Basically you have to run the setup program
supplied with them.
Installation of Win32s copies a couple of files (w32sys.dll, win32s.ini,
win32s16.dll, winmm16.dll) to the Windows system directory and creates a
WIN32S subdirectory with additional files. It also adds two entries
(for winmm16.dll and w32s.386) to the system.ini file in the Windows
directory. You can deinstall Win32s by removing these files and restoring
your original system.ini file (saved in system.old by the setup program).
Installation of WinG is optional. I have included two versions of VMPEG,
one with WinG calls (VMPEGWIN.EXE) and one without (VMPEGNWG.EXE).
The WinG version is faster, but the difference is only notable for
large (CIF/SIF) MPEGs (may depend on your SVGA).
WinG adds several files (wing.dll, wing32.dll, wingde.dll, wingdib.drv,
wingpal.wnd, dva.386) to the system directory and adds an entry for DVA.386
to your system.ini file. To deinstall WinG simply remove this entry from
system.ini.
If you start VMPEG (or any other program using WinG) for the first time,
a performance test window appears which adapts and optimizes WinG for the
VGA in your PC. This takes a while (about 3 minutes on my computer), don't
despair...
- Create a subdirectory for installation:
md \vmpeg
cd \vmpeg
- Unzip the archive into this subdirectory:
pkunzip -d vmpeg12.zip
if you don't need the DOS version, you can delete vmpeg, go32.exe, the
drivers subdirectory and the vmpeg*.bat batch files
- You can start the program (vmpegwin.exe / vmpegnwg.exe) either from the
file manager or from the program manager (File->Run menu item) or you can
define a program entry in the program manager (File->New menu item).
- both VMPEG and the Win32s libraries need a lot of memory (about 3-5 MB in
total), and you may therefore have to increase the size of the swap file.
4 MB of RAM are sufficient, however, to run the program without swapping
(except during program startup).
4. Graphics Drivers (DOS version)
=================================
The DRIVERS subdirectory contains a set of graphics drivers for different
Super VGAs. Select the one that matches your graphics card by editing the
file VMPEG.BAT (for 8 bit display). If none of the drivers work, you may try
to use the (go32 internal) VESA driver and a TSR VESA BIOS extension. A
collection of such drivers is available at
oak.oakland.edu:/pub/msdos/graphics/vesadrv2.zip (anonymous ftp).
and on all other SimTel mirrors.
True color support requires VESA BIOS. It works for my configuration (a
Cirrus Logic GD5422 based card with VESA BIOS) and should work for most other
'well behaved' boards as well. You may have to adjust the -y option in the
last line of VMPEG24.BAT. The number indicates the length of each scanline.
This is usually either 1920 or 2048. If the frames appear scattered over the
screen, the setting is probably wrong... If you get incorrect colors (red
sky, blue faces) you have a card with reversed RGB order. Simply replace the
-y... by a -Y... to fix this.
5. Troubleshooting
==================
DOS version:
If you get a message about the CPU not being in Real Mode, you have to remove
the noems option from the EMM386.EXE (or any other EMS emulator) line in your
CONFIG.SYS.
Windows version:
If you get the message 'Can't find WING32.DLL' you don't have WinG properly
installed. Either install WinG or use VMPEGNWG.EXE instead.
If starting VMPEGWIN briefly switches to text mode and displays the message
'This program cannot be run in DOS mode', Win32s is not installed properly.
If you get 'Out of Memory' errors, you have to increase the size of your
swap file (from the control panel).
6. Command Line Options
=======================
The following command line options are valid for both DOS and Windows
versions. To specify options to the Windows version, you have to run it
from the program manager (File->Run menu). Of course you can set all
these options interactively after starting vmpegwin (without command
line options).
vmpeg [options] input.mpg
vmpeg24 [options] input.mpg
vmpegwin [options] input.mpg
vmpegwng [options] input.mpg
options:
-l loop the sequence (infinitely until you press a key)
-x1 skip B frames
-x2 skip B and P frames, i.e. only I frames are displayed; you should
use this option for I-frame-only sequences (including Xing compatible
streams) to make the program run faster (as it doesn't have to manage
reference frames)
-d0 (default) ordered 4x4 dither
-d1 grayscale
-d2 similar to -d0 but display magnified by a factor of 2
True color mode is selected by using vmpeg24 instead of vmpeg. In this
case the -d switch isn't effective.
DOS version only:
-in displace output by n pixel in horizontal direction
-jn displace output by n pixel in vertical direction
VMPEG centers the MPEG on the screen. If the frame is larger than
the screen you can use the -i and -j options to pan the visible
area. positive n shifts to the right or bottom, negative n to the
left or upwards.
-zn reduce display speed. This is done by a counting loop, so you
have to experiment until you get the speed you want.
The program can be terminated by pressing an arbitrary key (DOS version).
7. Remarks
==========
Please report bugs (don't forget to mention which version of VMPEG you are
using!) to my email address:
stefan@lis.e-technik.tu-muenchen.de
or by mail to:
Stefan Eckart
Kagerstr. 4
D-81669 Muenchen, Germany
8. Acknowledgements, Copyrights
===============================
This program comes without any warranty. Your are using it at your own
risk. VMPEG is copyrighted software (C) Stefan Eckart, 1994. You may
use, copy and distribute this program without restrictions but only in
unmodified form and without charging money for it.
GO32.EXE, DRIVERS\*.GRD:
Copyright (C) DJ Delorie
24 Kirsten Ave
Rochester NH 03867-2954
These files are part of DJGPP which is available from
host: oak.oakland.edu (or another SimTel mirror)
login: ftp
password: send your e-mail address
directory: /pub/msdos/djgpp
other DRIVERS:
Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
Copyright (C) 1992 Csaba Biegl, 820 Stirrup Dr, Nashville, TN 37221
VMPEG:
The library VMPEG is linked with is
Copyright (c) Regents of the University of California.
acknowledgement: ``This product includes software developed by the
University of California, Berkeley and its contributors''
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The program is compiled with GNU GCC, the C compiler of the Free
Software Foundation (FSF), Inc. 675 Mass Ave, Cambridge, MA 02139, USA.
VMPEG does not contain code covered by the FSF General Public License.
9. Known Bugs
=============
Interframe coded macroblocks theoretically can experience wrap-around
(255<->0). This happens rarely enough to live with it (fixing would
reduce speed for all sequences).
Accuracy of the IDCT does not meet the requirements of IEEE 1180-1990. It is,
however, a reasonable trade-off between speed and image quality.
Display should be synchronized to the frame rate signalled in the sequence
header.
The program should use VESA BIOS supplied information instead of the -y
option.
10. References
==============
1. Coding of moving pictures and associated audio for digital storage
media up to about 1,5 Mbit/s, International Standard ISO/IEC
IS 11172, 1993.
2. Frequently Asked Questions (FAQ) of the alt.binaries.pictures
and comp.compression newsgroup: contains an introduction to MPEG.
3. Documentation of the PVRG MPEG software: a thorough overview
covering many aspects of MPEG.
4. Documentation of the MSSG MPEG-2 codec (mpeg2codec, see below).
Appendix A: Related Software
============================
This list is probably incomplete, but it's all I'm aware of. Of course
there are programs for other systems as well (Mac, Amiga etc.).
mpeg2codec MPEG-1 and MPEG-2 codec from the MPEG Software Simulation Group
Authors: Stefan Eckart, C. Fogg, C. Aeyung, S. Papuc
Includes source code for Unix X11 and Windows (Win32s / NT)
and compiled versions for PC.
ftp.netcom.com:/pub/cfogg/mpeg2/*
mpeg2play a speed optimized version of the decoder from mpeg2codec
ftp.netcom.com:/pub/cfogg/mpeg2/mpeg2play*
mpeg_play MPEG Video Software Decoder (Version 2.0; Jan 27, 1993)
Authors: Lawrence A. Rowe, Ketan Patel, and Brian Smith
Computer Science Division-EECS, Univ. of Calif. at
Berkeley
toe.cs.berkeley.edu:/pub/multimedia/mpeg/mpeg-2.0.tar.Z
cmpeg an MPEG encoder for the PC (DOS, 640K, no '386 req.)
for Targa, PBMPLUS and Alchemy RAW images
Author: Stefan Eckart
garbo.uwasa.fi:/pc/graphics/cmpeg10.zip
dmpeg MPEG decoder and player for the PC (DOS, 640K, VGA)
Author: Stefan Eckart
garbo.uwasa.fi:/pc/graphics/dmpeg11.zip
mpegwin Port of mpeg_play for MS-Windows
by: Michael Simmons, msimmons@ecel.uwa.edu.au
toe.cs.berkeley.edu:/pub/multimedia/mpeg/Ports/mpegw*
(HiColor & TrueColor support, Shareware)
mpeg.exe DOS MPEG player from Xing Technologies (XingIt V2.1)
(high speed, but decodes only a small subset of the
MPEG standard, audio (.WAV,.MP2) support, Windows)
mpegview.zip (available from many ftp sites)
MPEGv1.1/1.2alpha
MPEG Software Encoder/Decoder
Authors: Portable Video Research Group (PVRG)
havefun.stanford.edu:/pub/mpeg/MPEGv*.tar.Z
disp
a display program for pictures and animations
including MPEG (based on mpeg_play)
contains additional drivers that can also be used
with VMPEG.
Author: Jih-Shin Ho, u7711501@bicmos.ee.nctu.edu.tw
NCTUCCCA.edu.tw:/PC/graphics/disp
APPENDIX B: MPEG files
======================
Two good sources for MPEG files:
s2k-ftp.cs.berkeley.edu:/pub/multimedia/mpeg/movies
havefun.stanford.edu:/pub/mpeg
High quality MPEGs you simply can't afford to miss:
tennis.mpg
flowg.mpg
bike.mpg
--
Stefan Eckart, stefan@lis.e-technik.tu-muenchen.de
Kagerstr. 4, D-81669 Munich, Germany.